package main

import(
	"fmt"
	"math"
)

func main(){

	var IsPrime [1e6+5]bool
	var cnt [1e6+5]int32
	for i:=0;i<1e5+6;i++{
		IsPrime[i]=true;
	}

	IsPrime[0]=false
	IsPrime[1]=false
	cnt[2]=1;
	fmt.Printf(math)
	for i:=2;i<1e6+5;i++{
		if IsPrime[i]{
			for j:=2*i;j<1e6+5;j+=i{
				IsPrime[j]=false;
			}
		}
	}
	
	for i:=3;i<1e6+5;i++{
		if IsPrime[i]{
			cnt[i]=cnt[i-1]+1;
		}else{
			cnt[i]=cnt[i-1];
		}
		//
	}
	fmt.Printf("%d\n",cnt[1e6])
	return //78498
	var n int32
	for{
		rt,_:=fmt.Scanf("%d",&n);
		if rt==0 {
			break
		}
		for {
			n--;
			if n<0{
				break
			}
			var a int32;
			fmt.Scanf("%d\n",&a);
			fmt.Printf("%d\n",cnt[a]);
		}
	}
	
}